# python set 集合
print("dir(set) =", dir(set))
print()

## add() 向集合中添加元素
set1 = {1, 2, 3}
set1.add((1, 2))
print("set1 =", set1)

## clear() 清空集合中的元素
set1.clear()
print("set1 =", set1)

## copy() 拷贝集合
set1 = {1, 2, 3}
set2 = set1.copy()
set1.add(4)
print("set1 =", set1)
print("set2 =", set2)

## set3 = set1.difference(set2) 将 set1 中有，而 set2 没有的元素给 set3
set1 = {1, 2, 3}
set2 = {3, 4}
set3 = set1.difference(set2)
print("set3 =", set3)

## set1.difference_update(set2) 从 set1 中删除与 set2 相同的元素
set1 = {1, 2, 3}
set2 = {3, 4}
set1.difference_update(set2)
print("set1 =", set1)

## discard() 删除集合中的元素
set1 = {1, 2, 3}
set1.discard(2)
print("set1 =", set1)

## set3 = set1.intersection(set2) 取 set1 和 set2 的交集给 set3
set1 = {1, 2, 3}
set2 = {3, 4}
set3 = set1.intersection(set2)
print("set3 =", set3)

## set1.intersection_update(set2) 取 set1 和 set2 的交集，并更新给 set1
set1 = {1, 2, 3}
set2 = {3, 4}
set1.intersection_update(set2)
print("set1 =", set1)

## set1.isdisjoint(set2) 判断 set1 和 set2 是否没有交集，有交集返回 Flase；没有交集返回 True
set1 = {1, 2, 3}
set2 = {3, 4}
print("set1.isdisjoint(set2) =", set1.isdisjoint(set2))

## set1.issubset(set2) 判断 set1 是否是 set2 的子集
set1 = {1, 2, 3}
set2 = {3, 4}
print("set1.issubset(set2) =", set1.issubset(set2))

## a = set1.pop() 取 set1 中一个元素，并赋值给 a
set1 = {1, 2, 3}
a = set1.pop()
print("set1 =", set1)
print("a =", a)

## set1.remove(elem) 移除 set1 中的 elem 元素
set1 = {1, 2, 3}
set1.remove(2)
print("set1 =", set1)

## set1.symmetric_difference(set2) 取 set1 和 set2 中互不相同的元素，给 set3
set1 = {1, 2, 3}
set2 = {3, 4}
set3 = set1.symmetric_difference(set2)
print("set3 =", set3)

## set1.symmetric_difference_update(set2) 取 set1 和 set2 中互不相同的元素，并更新给 set1
set1 = {1, 2, 3}
set2 = {3, 4}
set1.symmetric_difference_update(set2)
print("set1 =", set1)

## set3 = set1.union(set2) 取 set1 和 set2 的并集，赋给 set3
set1 = {1, 2, 3}
set2 = {3, 4}
set3 = set1.union(set2)
print("set3 =", set3)

## set1.update(elem) 添加列表或集合中的元素到 set1
set1 = {1, 2, 3}
set1.update([3, 4])
print("set1 =", set1)
